import { useServerStore } from '@/stores/server'
import axios from 'axios'
import { showToast } from 'vant'

const { serverUrl } = useServerStore()
const token = localStorage.getItem('token')

const axiosInstance = axios.create({
  baseURL: serverUrl,
  timeout: 20000
})

// 添加请求拦截器
axiosInstance.interceptors.request.use((config) => {
  // 在发送请求之前做些什么
  if (token) {
    config.headers.Authentication = token
  }
  return config
}, (error) => {
  console.log('error', error);
  // 对请求错误做些什么
  return showToast({
    message: '请求失败',
    type: 'fail',
    position: 'top',
  })
})

// 添加响应拦截器
axiosInstance.interceptors.response.use((res) => {
  // 2xx 范围内的状态码都会触发该函数。
  if (res.data.code === 1 && res.data.msg !== "") {
    showToast({
      message: res.data.msg,
      type: 'success',
      position: 'top',
    })
  }
  if (res.data.code === 0 && res.data.msg !== "") {
    showToast({
      message: res.data.msg,
      type: 'fail',
      position: 'top',
    })
  }
  return res.data
}, (error) => {
  console.log('error', error);
  return showToast({
    message: '出错啦！',
    type: 'fail',
    position: 'top',
  })
})

export default axiosInstance 
